package gui.edit.enums;

/**
 * @author Charles Perin
 * 29 mars 2011
 * LIMSI - INRIA Rennes
 * charles.perin@free.fr
 *
 */
public enum E_EditParamsSliders {

	DYNAMICITY("Dynamicity", "Select camera dynamicity", 0, 3, 0, 1, true, false,
			"None -> Static camera\n"               
			+"Orientation -> Camera rotation can change\n"
			+"Position and orientation -> Camera rotation and translation can change\n"
			+"Full -> Camera rotation, translation and zoom can change"),
	VISIBILITY("Visibility", "Select actor visibility value (%)", 0, 100, 100, 20, false, true,
			"Determines when an actor is considered visible\n" +
            "An actor is visible at:\n" +
            "0% -> Even if not in the camera field\n" +
            "1->99% -> if partially (at x%) not occluded in the camera field\n" +
            "100% -> If totally in the camera field\n"),
	PACING("Pacing", "Select shot duration range", 0, 100, 0, 20, false, false,
			""),
	MIN_SHOT_DURATION("Min shot duration", "Select the minimum duration of shots", 0, 60, 30, 20, false, true,
			""),
	SHOT_TYPE("Shot type", "Select camera distance to actors", 0, 4, 2, 1, true, false,
			""),
	DUTCH_ANGLE("Dutch angle", "Select camera tilt", 0, 180, 90, 45, false, true,
			"Select Camera tilt (degrees)\nNegative -> Left tilt\n0->no tilt\nPositive -> Right tilt"),
	INTENSITY("Intensity", "Select the shots intensity",0 , 100, 0, 20, false, false,
			"0 -> Camera far from actors\n100 -> Camera close to actors");
	
	private String name, infos;
	private String sliderToolTip;
	private boolean snapToTicks;
	private int startValue, minValue, maxValue, majorTickSpacing;
	private boolean isIntegerValue;

	E_EditParamsSliders(String name, String sliderToolTip, int minValue, int maxValue, int startValue, int majorTickSpacing, boolean snapToTicks, boolean isIntegerValue, String infos){
		setName(name);
		setSliderToolTip(sliderToolTip);
		setMinValue(minValue);
		setMaxValue(maxValue);
		setSnapToTicks(snapToTicks);
		setStartValue(startValue);
		setIntegerValue(isIntegerValue);
		setMajorTickSpacing(majorTickSpacing);
		setInfos(infos);
	}
	
	
	
	public int getMajorTickSpacing() {
		return majorTickSpacing;
	}

	public void setMajorTickSpacing(int majorTickSpacing) {
		this.majorTickSpacing = majorTickSpacing;
	}
	
	public boolean isSnapToTicks() {
		return snapToTicks;
	}

	public void setSnapToTicks(boolean snapToTicks) {
		this.snapToTicks = snapToTicks;
	}

	public int getStartValue() {
		return startValue;
	}

	public void setStartValue(int startValue) {
		this.startValue = startValue;
	}

	public int getMinValue() {
		return minValue;
	}

	public void setMinValue(int minValue) {
		this.minValue = minValue;
	}

	public int getMaxValue() {
		return maxValue;
	}

	public void setMaxValue(int maxValue) {
		this.maxValue = maxValue;
	}

	public boolean isIntegerValue() {
		return isIntegerValue;
	}

	public void setIntegerValue(boolean isIntegerValue) {
		this.isIntegerValue = isIntegerValue;
	}

	public String getSliderToolTip() {
		return sliderToolTip;
	}

	public void setSliderToolTip(String sliderToolTip) {
		this.sliderToolTip = sliderToolTip;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}



	public String getInfos() {
		return infos;
	}



	public void setInfos(String infos) {
		this.infos = infos;
	}
}
